]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
status/network: Update Wi-Fi quicksettings icon on disconnect
authorMitchell Augustin <mitchell.augustin@canonical.com>
Fri, 15 Aug 2025 17:49:03 +0000 (12:49 -0500)
committerMarge Bot <marge-bot@gnome.org>
Sat, 30 Aug 2025 21:31:35 +0000 (21:31 +0000)
Prior to this patch, upon a connected AP disconnecting from
the device, the current quicksettings wi-fi icon will continue
showing the "network-wireless-connected-symbolic" symbol in
the time between the initial disconnection and the adapter
deactivation, even though the connection has been
degraded by virtue of no longer being routable.

This will also happen in the
NM.ActiveConnectionState.DEACTIVATING state.

To make this clearer to the user, this change modifies
quicksettings' wifi icon to reflect the degraded states:
- An activated adapter with no active AP connection will
now map to the network-wireless-offline-symbolic icon
(to indicate that the AP signal is lost)

- NM.ActiveConnectionState.DEACTIVATING will now map to the
network-wireless-acquiring-symbolic icon (to indicate that
a state transition is in progress)

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8605

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3840>

js/ui/status/network.js

index e46b09b72c10a1748156da6af77901698a8691b1..d4903a11c4deb92d34166d559af1237136c9c344 100644 (file)
@@ -1135,6 +1135,7 @@ const NMWirelessDeviceItem = GObject.registerClass({
 
         switch (this.state) {
         case NM.ActiveConnectionState.ACTIVATING:
+        case NM.ActiveConnectionState.DEACTIVATING:
             return 'network-wireless-acquiring-symbolic';
 
         case NM.ActiveConnectionState.ACTIVATED: {
@@ -1148,7 +1149,7 @@ const NMWirelessDeviceItem = GObject.registerClass({
                 if (this._device.mode !== NM80211Mode.ADHOC)
                     console.info('An active wireless connection, in infrastructure mode, involves no access point?');
 
-                return 'network-wireless-connected-symbolic';
+                return 'network-wireless-offline-symbolic';
             }
 
             const {strength} = this._activeAccessPoint;